我有这些长语句,我将在这里称为x、y等。我的条件语句的结构是这样的:if(x||y||z||q){if(x)dosomethelseif(y)dosomethingif(z)dosomethingelseif(q)dosomething}elsedosmthing有没有更好、更短的方法来写这个东西?谢谢 最佳答案 我看不出你现在的写法有什么大问题。我确实建议即使对于单个语句ifblock也使用花括号。这将帮助您避免错误,以防您以后必须添加更多代码行(然后可能会忘记添加花括号)。我发现它也更具可读性。代码看起来像这样:if(x||y|
这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Shouldafunctionhaveonlyonereturnstatement?这就是我要说的。if(condition){aVariable=1;return;}doSomething();if(condition){aVariable=1;}else{doSomething();}其中一个是否优于另一个(约定等)?
我在Java中有以下代码:publicvoiddoSomething(inti){if(i==12){//ordershouldbesameup();left();stop();}if(i==304){//ordershouldbesameright();up();stop();}if(i==962){//ordershouldbesamedown();left();up();stop();}}//similarcodecanbedoneusingswitchcasestatements.//allthefunctioncanhaveanyfunctionalityandmightno
考虑以下未格式化的嵌套if-elseJava代码if(condition1)if(condition2)action1;elseaction2;我的问题是:根据Java语言规范,else分支适用于什么?通过手动重新格式化和添加大括号,这两个哪个是正确的?block1:if(condition1){if(condition2){action1;}elseaction2;}}第2部分:if(condition1){if(condition2){action1;}}else{action2;} 最佳答案 来自JavaLanguageSpe
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8个月前。Improvethisquestion原代码如下:publicclassFruitGrower{publicvoidgrowAFruit(Stringtype){if("wtrmln".equals(type)){//dowatermelongrowingstuff}elseif("ppl".equals(type)){//doapplegrowingstuff}elseif("pnppl".equals(type)){//
我读过(例如从MartinFowler那里)我们应该在OOP的(短)方法中使用保护子句而不是单一返回。我还读过(从某个我不记得的地方)应该尽可能避免使用else子句。但是我的同事(我在一个只有3个人的小团队工作)强制我不要在一个方法中使用多个return,并且尽可能使用else子句,即使else中只有一个注释行block。这让我很难遵循他们的编码风格,因为例如,我无法在一个屏幕上查看一个方法的所有代码。而且我写代码的时候,必须先写guardclause,然后尝试把它转换成没有multiplereturn的形式。我错了吗?我应该怎么办? 最佳答案
下面三个函数哪个效率更高;publicStringgetmConnectedDeviceName1(){if(null!=mServerDevice){returnmServerDevice.getName();}else{returnnull;}}publicStringgetmConnectedDeviceName2(){returnmServerDevice==null?null:mServerDevice.getName();}publicStringgetmConnectedDeviceName3(){try{returnmServerDevice.getName();}ca
在Java7中,string对象可以在switch语句的表达式中。有人可以从officialdocumentation解释以下声明吗??TheJavacompilergeneratesgenerallymoreefficientbytecodefromswitchstatementsthatuseStringobjectsthanfromchainedif-then-elsestatements. 最佳答案 Java代码有一个类的两个版本,例如使用if-then-else:publicclassIfThenElseClass{pub
FreeMarker模板支持具有以下语法的if语句It'shot.我查看了文档,但找不到任何对if-else语句的支持。当然,我可以通过以下方式获得相同的结果:It'shot.It'snothot.FreeMarker是否支持if-else? 最佳答案 是的,你可以这样写:it'shotit'snot如果你正在做大量的freemarker,我真的可以推荐IntelliJIDEA8,它的freemarker支持真的很有帮助...... 关于java-FreeMarker模板中的if-els
我对Vim中默认的python语法高亮感到恼火。它没有正确突出显示else:语句。如果我在else和冒号:之间有一些空白,Vim只会突出显示else语句,所以else:可以工作,但是else:没有。它必须很容易修复。我正在使用Vim7.2 最佳答案 我的vimrc文件中有以下语句。这使得else:被标记为一个词。删除其他内容后:语法突出显示效果很好。setiskeyword+=: 关于python-Python的Vim语法高亮'else:',我们在StackOverflow上找到一个类似